<?php

class FormDesigns extends App_Form  
{
	private $designData;
	
	public function __construct($design) {
		$this->designData = $design;
		parent::__construct();
	}
	/**
     * Создание формы
     */
    public function init()
    {
        // Вызываем родительский метод
        parent::init();
        
        // Указываем action формы
        $helperUrl = new Zend_View_Helper_Url();
        $this->setAction($helperUrl->url(array(), 'adminDesignForm'));
        $this->setAttrib('enctype', 'multipart/form-data');
        $this->setMethod('post');
        $this->setAttrib('class', 'commonform');
        $this->setAttrib('name', 'designform');
        
        // Кнопка Submit
        $id = new Zend_Form_Element_Hidden('hidden', array(
        	'name'		  => 'id',
            'value'       => $this->designData->id 
        ));
        $id->setDecorators(array('Hidden'));
        $this->addElement($id);
        // Text элемент "Имя". Проверяется на алфавитные символы и цифры, а также на длину
        // Валидатор Alnum использует установленную локаль для определения алфавита символов.
        $title = new Zend_Form_Element_Text('title', array(
            'required'    => true,
			//'decorators' => $this->elementDecorators,
        	'label'       => 'Название:',
            'maxlength'   => '30',
            'validators'  => array(
                array('Alnum', true, array(true)),
                array('StringLength', true, array(2, 30))
             ),
            'filters'     => array('StringTrim'),
            'value'		  => $this->designData->title
        ));
        $title->setDecorators(array('Standart'));
        $this->addElement($title);
      
        $fname = new App_Form_Element_Gallery('fname', array(
            //'required'    => true,
        	'label'       => 'Изображение',
            'value'		  => $this->designData->fname
        ));
    	$fname->setDestination(UPLOAD_PATH . 'designs');
        $fname->addGalleryPhoto($this->designData->photo);
    	$fname->setDecorators(array('Gallery'));
        $this->addElement($fname);
      
		// Кнопка Submit
		$submit = new Zend_Form_Element_Submit('submit', array(
			'decorators' => $this->buttonDecorators,
			'label'       => 'Сохранить',
		));
		$this->addElement($submit);
		        
		// Кнопка Reset, возвращает форму в начальное состояние
		$reset = new Zend_Form_Element_Reset('reset', array(
			'decorators' => $this->buttonDecorators,
			'label'       => 'Очистить',
		));
		$this->addElement($reset);
    }
}
?>
